The present invention relates to a message conversion apparatus. Further, the present invention relates to a software processing device and to a method for conversion of messages.
In performing the upgrade of software there is usually some kind of disturbance to the operation of the system being upgraded. This disturbance can range from a total system shutdown during hours and possible days to a short disruption of possibly only some limited part of the total functionality of the system, e.g., a few seconds. Conceivably, there may be no disturbance at all although this is typically not the case in real existing systems. However, for systems like communication exchanges, it is of great importance that any disturbance is small and as short as possible.
To achieve a disturbance-free upgrade of software even with permanently long executing software modules it is a pre-requisite that new software is upgraded with all necessary data from the old software while the old software is continuously executed. When data of new software has reached the same state as data of old software the new software takes over execution.
The simplest method to upgrade software is to stop the execution of old software, load new software, and finally to start the new software. Using this method no data is transferred between the old software and the new software. Further, all established software processes are lost and the execution of software is stopped during the load and start of the new software. Usually, this method is used, e.g., for workstations and personal computers.
An improved approach for a communication system has been described in xe2x80x9cRemote upgrading and updating of AXE 10 softwarexe2x80x9d, page 66, 67 Ericsson Review No. 2, 1996. Here, the new software is loaded while the old software is still handling establishment of services provided to subscribers. Data is transferred between old software and new software. Data variables containing data to be transferred are identified in so-called data change information and can either be of the type copy or convert. For each convert data variable a conversion program specified in the data change information is executed to achieve the transformations and to transfer the conversion output to the new software. However, during the transfer of the data necessary for already established services from the old software to the new software the establishment of additional services is stopped.
Thus, when performing a software upgrade there exists always a disturbance to the system being upgraded. This disturbance can range from a total system shut down during hours and possibly days to a short disruption of perhaps only some limited part of the total functionality of the system, i.e. a few seconds. However, in particular for system like telecommunication exchanges it is of great importance that any disturbance is as short as possible since increased system downtimes imply a loss of revenues to the service providers.
Further, while in systems containing a lot of software modules messages should survive a system upgrade this is currently not supported at all. Therefore, termination of messages lead to an increased disturbance of systems during upgrade. In particular, services may be aborted or canceled in case of a software upgrade which could not be allowable for certain services being related to, e.g., health care or security.
In view of the above, the object of the invention is to achieve a smooth upgrade of software in computer based systems.
According to a first aspect of the invention this object is achieved through a message conversion apparatus comprising an interface means for message conversion information describing at least one message being exchanged in a software processing system before and after an upgrade of the software processing system, and a message conversion means adapted to convert the message into the new representation for the upgraded software processing system in compliance with the specifications given in the message conversion information.
Therefore, according to the present invention it is possible to convert messages according to an upgraded system. This implies that also messages and not only data internal to the software units in the system survive a system upgrade to reduce and minimize the disturbance of the system. Also, since the message change information is received via a related interface means, the functionality of the message conversion apparatus may be easily modified according to prevailing requirements.
According to a preferred embodiment of the present invention the message conversion means is activated upon switch over to the upgraded software processing system. In case messages are already converted at switchover the overall start up time of upgraded software units later on is avoided.
According to another preferred embodiment of the present invention the message conversion means is activated upon job start of software in the software processing system. This approach facilitates gradual upgrading of the system as it makes it possible to perform bidirectional communication between old and new software modules, as messages are only converted on demand.
According to another preferred embodiment of the present invention a message control information processing means converts a message control information comprising at least one of a message reference, a message source software unit, a message target software unit, and a message class respectively, and a message data processing means converts at least one data element of a message data section. Further, preferably the message control information processing means and the message data processing means execute the conversion of received messages using functional relationships.
In case messages are split into a message control information part and a data part it is possible to further reduce the computing resources necessary for message conversion since in case the elements control information part is to be converted only very few data must be handled. Also, this message structure supports easy and effective conversion of data elements using a functional relationship.
Also, according to a second aspect of the present invention the object outlined above is achieved through a software processing device of the type with upgrade functionality, comprising at least one message buffer storing messages to be processed by the software processing device, at least one application unit processing messages stored in the at least one message buffer, and a message conversion apparatus adapted to convert messages into a new representation after an upgrade of the at least one application unit according to the first aspect of the invention.
According to another preferred embodiment of the present invention the software processing device is of the distributed type with a plurality of application units each being connected to the conversion apparatus. Alternatively, the software processing device is of the distributed type with a plurality of application units being connected to a single conversion apparatus or the software processing device comprises two logic partitions being connected to the conversion apparatus.
Therefore, the present invention enables the realization of a variety of software processing devices according to specific needs. In particular in case a plurality of application units are provided within the software processing devices this allows for concurrent execution of old software and the system upgrade. Further, in accordance with the amount of messages to be converted, either only a single or a plurality of message conversion apparatuses could be provided in the software processing device.
Finally, according to a third aspect of the present invention the object outlined above is achieved through a system upgrade method for a computation system with at least two logic partitions, comprising the steps upgrading the state of new software in a standby partition means to the state of old software in an executing partition means while continuing execution of the old software, switching to the execution of new software as far as the same state is achieved for the standby partition means and the executing partition means, and conversion of messages transmitted between different software modules in the computation system to a format suitable for the receiving software either at switch over to the execution of the receiving software or on demand at job start of the receiving software.
Here, not only old software and data being related thereto are upgraded but also messages being exchanged between these software units. All these steps are carried out while the system continues to operate the old software in parallel and with minimized disturbance on the system performance.